Redirection services are provided by, for example, the HTTP protocol, which finds use with the Internet and the World Wide Web (e.g., interlinked hypertext documents accessible via the Internet). The Internet is a global system of interconnected networks that link computers, computing equipment, storage, etc. The Internet is often referred to as “a network of networks”.
For the Internet, resources (e.g., information, programs, etc.) are located using uniform resource locators or universal resource locator (URLs), a type of uniform resource identifier (URI). A URL includes, for example: a scheme name (e.g., HTTP), followed by a colon, two slashes, then, depending on scheme, a domain name (e.g., alternatively, an IP address), a port number, a path of a resource to be fetched or a program to be run, then, for example, for programs such as Common Gateway Interface (CGI) scripts, a query string, key-value string, etc., and an optional fragment identifier.
Communication over the Internet can occur via a standard Internet protocol suite such as the Transmission Control Protocol (TCP) and Internet Protocol (IP) suite. The TCP/IP Internet protocol suite classifies its methods and protocols into four hierarchical abstraction layers: the link layer, the Internet layer, the transport layer, and the application layer. Each layer has functionality that solves a set of problems within its particular scope.
HTTP is an application layer protocol within the TCP/IP suite. The protocol definitions presume a reliable transport layer protocol for host-to-host data transfer (e.g., TCP). HTTP has found application with other protocols, such as the User Datagram Protocol (UDP), for example, in methods such as the Simple Service Discovery Protocol (SSDP).
As to redirecting, using HTTP as an example, a redirect is a response with a status code beginning with 3 that induces a browser to go to another location, with annotation describing the reason, which allows for the correct subsequent action (such as changing links in the case of code 301, a permanent change of address). HTTP defines several status codes for redirection, including: 300 multiple choices (e.g., to offer different languages); 301 moved permanently; 302 found (e.g., optionally to specify redirection for a particular reason, which may be unspecified); 303 see other (e.g., for results of cgi-scripts); and 307 temporary redirect.
The foregoing status codes operate according to a redirect target in a location header of a HTTP response. Below is an example of an HTTP response that uses the status code 301 “moved permanently” redirect:
HTTP/1.1 301 Moved PermanentlyLocation: http://www.example.org/Content-Type: text/htmlContent-Length: 174<html><head><title>Moved</title></head><body><h1>Moved</h1><p>This page has moved to <ahref=“http://www.example.org/”>http://www.example.org/</a>.</p></body></html>
A redirection service may be part of an information management system that provides an Internet link that redirects users to desired content. A redirect link may be used as a permanent address, for example, as to content that frequently changes hosts. As an example, the redirection service “bit.ly” shortens URLs through use of the bit.ly domain or other custom domains to generate shortened links. Redirection is achieved using an HTTP Redirect (e.g., URL forwarding from the short URL to the full URL).
Another feature specified in the HTTP is known as a “referrer”. For example, when a webpage link is clicked by a user, a browser application issues a HTTP request that includes a referrer field that indicates the source of the link (e.g., the last page the user was on—the one where he/she clicked the link). More generally, a referrer is the URL of a previous item which led to the HTTP request being issued. The referrer for an image, for example, is generally the HTML page on which it is to be displayed. The referrer field is an optional part of the HTTP request sent by a browser application to a web server.
On the Internet, various server variables are available, which may be part of a request (e.g., Request.ServerVariables). A request may include one or more parameters that specify information (e.g., server_variable). As an example, a variable “REMOTE_ADDR” may be specified as a parameter for the IP address of a remote host making a request, noting that an IP address can assist in geolocation. As an example, consider a browser application running on a computer with a connection to the Internet and, thus, an IP address. A user, using the browser, can enter a domain name for a webpage such that the browser instructs the computer to send a request to retrieve the webpage. To allow a server hosting the webpage to respond to the request, the request typically includes the IP address of the sending computer (i.e., where the information should be sent).
Depending on configuration, a server may also respond by sending a cookie (e.g., which may be stored by the browser application). A cookie includes some information, which a browser application may instruct a computer to send upon a subsequent request.
While some examples mention “browser” or “browser application”, any application that allows for access to the Internet (e.g., using the HTTP) may be configured to make a request. As an example of a type of application, consider the various iTunes apps that may be implemented on an iPhone device such that the iPhone device can send a request. An iTunes or other app may also include an ad (e.g., a banner, etc.) where activating the ad (e.g., clicking, tapping, etc., on a link graphic) causes the device running the app to send a request (e.g., an HTTP request).
With respect to connections to the Internet, a device may include circuitry to connect via wire, wirelessly or both via wire and wirelessly. As to wireless connection, a cellular or other network may be intermediate to the Internet (e.g., 3G, 4G, BLUETOOTH™, etc.).
On the World Wide Web, various entities exist in the realm of e-commerce. In a system known as affiliate marketing, a publisher can be any type of Web site, app, etc., for example, from a well-known destination that offers consumers a range of shopping opportunities to a blogger that's just beginning to attract an audience to an app developer. Regardless of the type, as a loyal following is built, opportunities exist via affiliate marketing to monetize the site, the app, etc. by earning commissions. In such a scheme, the publisher can become an affiliate of an affiliate program where the publisher can displays ads, text links, or product links (e.g., from an advertiser or other entity) in return for a commission when a sale is made or when a lead is acquired. A sale may be tied to a specific action such as filling out a form or downloading a trial.
One affiliate network is LinkShare, which manages various different affiliate programs. LinkShare facilitates relationships between publishers and advertisers by providing the underlying technology that manages links, tracks results and commissions, and sends payments.
An affiliate programs may operate as follows: a site owner (e.g., affiliate) offers goods or services of a merchant for sale on its site by including an “affiliate link” to direct a user to that merchant for a good, goods, a service, services, etc. When a user (e.g., a visitor) click on the affiliate link, an identification code is associated with the click (e.g., via a cookie) and in the event that the user takes an appropriate action (e.g., a visit, a conversion to a lead, a conversion to a sale) then the affiliate (i.e., the site owner) is paid by the merchant. The merchant or affiliate network will also usually provide tools for the affiliate to monitor various metrics, such as the number of visitors sent to a merchant site, the number of clicks or sales generated, and the earnings accumulated. Affiliate relationships may be established either with each merchant directly (e.g., Amazon.com), or through an established third-party affiliate network (e.g., LinkShare, TradeDoubler, Commission Junction, etc.).
As described herein, in various examples, a redirection service can, for example, enhance user experience on the World Wide Web, optionally with referrer information or affiliate information that may benefit parties involved in transactions for goods, services, etc.